1. Field of the Invention
The present invention relates to a method and apparatus for managing a buffer in a communication system. More particularly, the present invention relates to a method and apparatus for managing a buffer according to a priority of service in a communication system.
2. Description of the Related Art
The present invention will be described herein with reference to an IEEE 802.16 Wireless Metropolitan Area Network (WMAN)-based Broadband Wireless Access (BWA) system as an example of the communication system.
The BWA system, also known as a Mobile WiMAX system, can wirelessly provide various multimedia services such as Internet access service, high-speed data service, and video service as well as voice service by means of portable terminals anytime and anywhere, independent of whether the users are moving or stationery. Compared with the conventional cellular mobile communication network, the Mobile WiMAX system provides faster wireless data services at lower cost. In addition, the Mobile WiMAX system, because it has broad service coverage area and low interference, can enable high-speed services even while the users are on the move. Therefore, the Mobile WiMAX system has attracted public attention as the next generation wireless communication technology capable of meeting the increasing users' demand for wireless Internet services.
The services provided by the Mobile WiMAX system can be classified into Unsolicited Grant Service (UGS), Extended Real-Time Variable Rate (ERT-VR) service, Real-Time Variable Rate (RT-VR) service, Non-Real-Time Variable Rate (NRT-VR) service, and Best Effort (BE) service according to the service requirements. The UGS, a service for allocating resources of a predetermined size by periods, is suitable for applications such as Voice over Internet Protocol (VoIP). The RT-VR service is introduced to support real-time applications that generate, like video streaming, variable-size packets by periods. The ERT-VR service is a service that can efficiently use the limited wireless resources, compared with the UGS, by repeating an operation of periodically allocating predetermined resources when there are packets to transmit, and allocating no resource or fewer resources when there is no packet to transmit. The NRT-VR service is suitable for service of non-real-time applications requiring the minimum data transfer rate (or data rate). The BE service basically requires no service level. To satisfy qualities of the services having the different requirements, different types of scheduling and resource management/allocation mechanisms have been realized according to the service classes.
FIG. 1 illustrates a configuration of a conventional communication system.
Referring to FIG. 1, the communication system includes a subnet #1 150, a subnet #2 160, a core network 120 for connecting the subnets #1 and #2 to each other, a Public Switched Telephone Network (PSTN) 122 connected to the core network 120, and the Internet 124.
The subnet #1 150 includes an Access Control Router (ACR) #1 100, Radio Access Stations (RASs) #1˜#4 (102, 104, 106 and 108), and a Mobile Station #1 110, and the subnet #2 160 includes an ACR#2 130, RASs #5˜#8 (132, 134, 136 and 138), and a Mobile Station #2 140. Here, the link (or direction) from the ACR to the Mobile Station via the RAS is called a ‘downlink’, and the opposite link is called an ‘uplink’. The uplink/downlink services guarantee Quality of Service (QoS) through their own algorithms, and a description of the present invention will be limited herein to the downlink.
FIG. 2 illustrates an internal structure of the conventional RAS.
Referring to FIG. 2, a channel card 200 of the RAS generally includes a processor module 202, an interface buffer 204, and a modern module 206.
Downlink packets in the RAS are serviced through the following process.
The processor module 202 buffers the packets received from the ACR in a temporary storage buffer 208 separately for each connection, and stores (or writes) the packets stored in the temporary storage buffer 208, in the interface buffer 204 through interaction between a Network Processor Unit (NPU) 210.
The packets stored in the interface buffer 204 are wirelessly transmitted or read after being scheduled by the modern module 206. The modern scheduler 214 calculates scheduling priorities of the packets taking into account the service requirement, the channel environment, and the fairness for each connection in the interface buffer 204. The modern scheduler 214 selects the connection having the highest priority, and services packets of the corresponding connection. To improve service quality of the real-time service, the real-time service is assigned a higher priority as compared to the non-real-time service, and thus transmission delay is reduced by servicing the packets quickly.
The processing rate of the processor module 202 is higher than the data rate of the wireless channel. Also, the link capacity between the ACR and the RAS is much higher than the wireless channel capacity. In addition, a low-price high-capacity memory is generally used as a buffering memory of the temporary storage buffer 208 in the processor module 202, while a high-speed low-capacity memory such as a Dual Port Random Access Memory (DPRAM) that can simultaneously perform read and write operations at an accurate time is used as the interface buffer 204. That is, in the downlink packet flow, because the interface buffer 204 is a bottleneck point, the service quality depends greatly on the buffer management technique.
Specifically, the modern scheduler 214 performs scheduling taking into account the service requirement of each connection during wireless packet transmission, such that the packets are output in order of priority. However, when the packets from the storage buffer 208 are stored in the interface buffer 204, the NPU 210 simply performs scheduling on each connection using a round-robin scheme. The round-robin scheme sequentially outputs the packets stored in the temporary storage buffer 208 to the interface buffer 204 one by one. However, the modern module 206 outputs the packets from the interface buffer 204 in order of the packet having the higher service priority. Therefore, because packets having a lower service priority, like the packets of the BE service, reside in the interface buffer 204 longer than the packets of higher priority. Packets having a lower service priority may occupy the entire buffer, there is a lack of available space for packets having a higher service priority, for example, packets of the UGS and NRT-VR service, thus causing a possible delay or packet loss in serving high-priority packets.
That is, the higher-service priority packets in the interface buffer 204 are preferentially serviced by the modern scheduler 214, compared to the lower-service priority packets. Accordingly, the higher-service priority packets in the interface buffer 204 are output at a higher rate compared to the lower-service priority packets. However, the packets flowing into the interface buffer 204 are input separately for each connection and are input on a round-robin basis regardless of the service priority. Therefore, a difference between packet input and output rates of the interface buffer 204 occurs. As time goes by, the quantity of higher-service priority packets may be reduced in the interface buffer 204 little by little so that all available spaces of the interface buffer 204 are fully filled only with the lower-service priority BE service packets.
When there is a lack of available space in the buffer, the packet inflow is delayed until there is an available space, in order to prevent overflow of the buffer. In this case, because there is no available space in the buffer, even the higher-priority packets are delayed until the BE service packets in the buffer are serviced out.
In the interface buffer management technique based on the round-robin scheme, the services may undergo priority inversion, so the service quality may deteriorate and the services for higher-priority packets may not be guaranteed.